perm filename CON11.FAI[CMS,LCS]2 blob
sn#371497 filedate 1978-08-02 generic text, type T, neo UTF8
00100 TITLE CON11
00200 A←1 ↔B←2↔C←3 ↔D←4 ↔E←5↔X←6↔Y←7
00300 P←17 ↔ NBUFS←4 ↔ S←10
00400 PDL: BLOCK 22
00500 IBUF: BLOCK 4
00600 OBUF: BLOCK 4
00700 FILNAM: 'VDSK '
00800 'DMP '
00900 0
01000 0
01100 FIL2: 'LOAD11'
01200 'HHT '
01300 0
01400 0
01500
01600 STAR: MOVE P,[PDPO: IOWD 22,PDL]
01700 OPEN 11,[14↔'DSK '↔IBUF]
01800 JRST 4,.
01900 INBUF 11,NBUFS
02000 LOOKUP 11,FILNAM
02100 JRST 4,.
02200 OPEN [14↔'DSK '↔OBUF,,]
02300 JRST 4,.
02400 OUTBUF NBUFS
02500 ENTER FIL2
02600 JRST 4,.
02700
02800 HRROI Y,-761 ;-777 FOR LAST PROM (256 BYTES)
02900 ;-7 FOR 1400 ?
03000
03100 LOADER: PUSHJ P,INP+1
03200 HRRZI X,200
03300 ADD X,IBUF+2
03400 AOJL Y,LOADER
03500
03600 PUSHJ P,OUTP ;SETUP PDP 11 FORMAT
03700 HRRZI A,1
03800 HRRZM A,1(Y)
03900 AOBJP Y,ERROR
04000 SETZM 1(Y)
04100 AOBJP Y,ERROR
04200 HRRZI A,6
04300 HRRZM A,1(Y)
04400 AOBJP Y,ERROR
04500 HRRZI A,20
04600 HRRZM A,1(Y)
04700 AOBJP Y,ERROR
04800 SETZM 1(Y)
04900 AOBJP Y,ERROR
05000 HRRZI A,20
05100 HRRZM A,1(Y)
05200 AOBJP Y,ERROR
05300 HRRZI S,47 ;START CHECK SUM
05400
05500 HRLI C,-4000 ;-400 FOR 256 PROM
05600 LOAD: PUSHJ P,INP
05700 HRRZ A,1(X)
05800 ADDI S,(A)
05900 HRRZM A,1(Y)
06000 SETOM 2(Y)
06100 ADDI S,377
06200 AOBJP Y,ERROR
06300 AOBJP Y,OUTIT
06400 ADX: AOBJP C,DONE
06500 AOBJN X,LOAD+1
06600 JRST LOAD
06700
06800 OUTIT: PUSHJ P,OUTP
06900 JRST ADX
07000
07100 DONE: XORI S,-1 ;GET CHECK SUM
07200 AOJ S,
07300 ANDI S,377
07400 HRRZM S,1(Y)
07500 AOBJP Y,ERROR
07600 HRRZI A,1
07700 HRRZM A,1(Y)
07800 AOBJP Y,ERROR
07900 SETZM 1(Y)
08000 AOBJP Y,ERROR
08100 HRRZI A,6
08200 HRRZM A,1(Y)
08300 AOBJP Y,ERROR
08400 SETZM 1(Y)
08500 AOBJP Y,ERROR
08600 SETZM 1(Y)
08700 AOBJP Y,ERROR
08800 SETZM 1(Y)
08900 AOBJP Y,ERROR
09000 HRRZI 371 ;LAST BLOCK CK SUM
09100 HRRZM 1(Y)
09200 AOBJP Y,ERROR
09300
09400 PUSHJ P,OUTP
09500 RELEAS
09600 EXIT
09700
09800 INP: HRRM X,IBUF+1
09900 IN 11,
10000 JRST SETX
10100 STATO 11,20000
10200 JRST 4,.
10300 ERROR: OUTSTR [ASCIZ/?????/]
10400 EXIT
10500
10600 OUTP: HRRM Y,OBUF+1
10700 OUT
10800 CAIA
10900 JRST 4,.
11000 HRRZ Y,OBUF+2
11100 MOVNI Y,(Y)
11200 HRLZI Y,(Y)
11300 HRR Y,OBUF+1
11400 POPJ P,
11500
11600 SETX: HRRZ X,IBUF+2
11700 MOVNI X,(X)
11800 HRLZI X,(X)
11900 HRR X,IBUF+1
12000 POPJ P,
12100 END STAR